package com.shop2cn.iapi.sqsynctrade.paremeter.mongo.details;

import java.math.BigDecimal;
import java.util.Date;

import org.springframework.data.mongodb.core.mapping.Field;

import com.ymttest.database.model.annotation.Column;
import com.ymttest.database.model.annotation.Table;

/**
 * 商品信息
 */
public class Product {
	/**
	 * prd 商品索引
	 */
	@Table("Ymt_OrderInfo")
	@Column("sOrderInfoId")
	@Field("itemId")
	private String itemId;

	/**
	 * prd 物流类型
	 */
	@Table("Ymt_OrderInfo")
	@Column("iCatalogStatus")
	@Field("dlvTp")
	private Integer deliveryType;

	/**
	 * prd 备货状态
	 */
	@Table("Ymt_OrderInfo")
	@Column("iCatalogType")
	@Field("stkSt")
	private Integer stockStatus;

	/**
	 * prd 商品成交价
	 */
	@Table("Ymt_OrderInfo")
	@Column("fProductPrice")
	@Field("prdPrc")
	private BigDecimal prdPrice;

	/**
	 * prd 商品折扣
	 */
	@Table("Ymt_OrderInfo")
	@Column("fDiscount")
	@Field("prdDisc")
	private BigDecimal prdDiscount;

	/**
	 * prd 原价定金
	 */
	@Table("Ymt_OrderInfo")
	@Column("fOriginalPrice")
	@Field("prdPrePrc")
	@Deprecated
	private BigDecimal prdPrePrice;

	/**
	 * prd 商品原价
	 */
	@Table("Ymt_OrderInfo")
	@Column("fProductOriginalPrice")
	@Field("prdOPrc")
	private BigDecimal prdOriginalPrice;

	/**
	 * prd 属性组合信息
	 */
	@Table("Ymt_OrderInfo")
	@Column("sPropertyInfo")
	@Field("prop")
	private String propertyInfo;

	/**
	 * prd 商品数量
	 */
	@Table("Ymt_OrderInfo")
	@Column("iAmount")
	@Field("prdCnt")
	private Integer prdCount;

	/**
	 * prd 商品规格id
	 */
	@Table("Ymt_OrderInfo")
	@Column("sCatalogId")
	@Field("cataId")
	private String cataId;

	/**
	 * prd 一级分类
	 */
	@Table("Ymt_OrderInfo")
	@Column("iProductMainCategoryId")
	@Field("cata1Id")
	private Integer cata1Id;

	/**
	 * prd 二级分类
	 */
	@Table("Ymt_OrderInfo")
	@Column("iProductSubCategoryId")
	@Field("cata2Id")
	private Integer cata2Id;

	/**
	 * prd 三级分类
	 */
	@Table("Ymt_OrderInfo")
	@Column("iProductThirdCategoryId")
	@Field("cata3Id")
	private Integer cata3Id;

	/**
	 * prd 商品品牌id
	 */
	@Table("Ymt_OrderInfo")
	@Column("iProductBrandId")
	@Field("brandId")
	private Integer brandId;

	/**
	 * prd 规格
	 */
	@Table("Ymt_OrderInfo")
	@Column("sSKU")
	@Field("sku")
	private String sku;

	/**
	 * prd 商品id
	 */
	@Table("Ymt_OrderInfo")
	@Column("sProductId")
	@Field("prdId")
	private String productId;

	/**
	 * prd 图片地址
	 */
	@Table("Ymt_OrderInfo")
	@Column("sPictureUrl")
	@Field("picUrl")
	private String picUrl;

	/**
	 * prd 标题
	 */
	@Table("Ymt_OrderInfo")
	@Column("sTitle")
	@Field("title")
	private String title;

	/**
	 * prd 保税区
	 */
	@Table("Ymt_OrderInfo")
	@Column("iBondedArea")
	@Field("bonded")
	private Integer bondedArea;

	/**
	 * prd 商品成交价类型
	 */
	@Table("Ymt_OrderInfo")
	@Column("iPriceType")
	@Field("prcTp")
	private Integer priceType;

	/**
	 * prd 商品退款状态
	 */
	@Table("Ymt_OrderInfo")
	@Column("iProductRefundStatus")
	@Field("prdRfdSt")
	private Integer prdRefundStatus;

	/**
	 * prd 退货方式
	 */
	@Table("Ymt_OrderInfo")
	@Column("iProductRefundChannel")
	@Field("rfdchl")
	private Integer refundChannel;

	/**
	 * prd 商品运费
	 */
	@Table("Ymt_OrderInfo")
	@Column("fFreight")
	@Field("prdFreight")
	private BigDecimal prdFreight;

	/**
	 * prd 商品平台优惠券
	 */
	@Table("Ymt_OrderInfo")
	@Column("fYmtCouponAmount")
	@Field("prdYmtCop")
	private BigDecimal prdYmtCoupon;

	/**
	 * prd 商品卖家优惠券
	 */
	@Table("Ymt_OrderInfo")
	@Column("fSellerCouponAmount")
	@Field("prdSellerCop")
	private BigDecimal prdSellerCoupon;

	/**
	 * prd 关税承担
	 */
	@Table("Ymt_OrderInfo")
	@Column("iTariffType")
	@Field("tariffTp")
	private Integer tariffType;

	/**
	 * prd 销售类型现货直播 1:现货 2:直播
	 */
	@Table("Ymt_OrderInfo")
	@Column("iSalesType")
	@Field("salesTp")
	private Integer salesType;

	/**
	 * prd 商品预售
	 */
	@Table("Ymt_OrderInfo")
	@Column("bPreSale")
	@Field("prdPreSale")
	private boolean prdPreSale;

	/**
	 * prd 商品三方折扣
	 */
	@Table("Ymt_OrderInfo")
	@Column("fThirdPartyDiscount")
	@Field("prdDisc3P")
	private BigDecimal prdDiscount3P;

	/**
	 * prd 7天无条件退款
	 */
	@Table("Ymt_OrderInfo")
	@Column("bSupportRtnWithoutReason")
	@Field("rtn7d")
	private boolean return7d;

	/**
	 * prd 促销金额
	 */
	@Table("Ymt_OrderInfo")
	@Column("fSellerPromotionAmount")
	@Field("prdPromAmt")
	private BigDecimal prdPromotionAmount;

	/**
	 * 平台商品立减优惠
	 */
	@Field("prdYmtPromAmt")
	private BigDecimal prdYmtPromotionAmount;

	/**
	 * prd 套餐编号
	 */
	@Table("Ymt_OrderInfo")
	@Column("sPackageNo")
	@Field("packNo")
	@Deprecated
	private String packageNo;

	/**
	 * prd 商品免运费
	 */
	@Table("Ymt_OrderInfo")
	@Column("bFreightFree")
	@Field("freightFree")
	private boolean freightFree;

	/**
	 * prd 商品快照
	 */
	@Table("Ymt_OrderInfo")
	@Column("sProductVer")
	@Field("prdVer")
	private String productVersion;

	/**
	 * prd 商品备案号
	 */
	@Table("Ymt_OrderInfo")
	@Column("sProductCode")
	@Field("prdCode")
	private String productCode;

	/**
	 * prd 是否psp
	 */
	@Table("Ymt_OrderInfo")
	@Column("bPspProduct")
	@Field("psp")
	private boolean pspProduct;

	/**
	 * prd 活动ID
	 */
	@Table("Ymt_OrderInfoExt")
	@Column("iActivityId")
	@Field("actId")
	private Integer actId;

	/**
	 * prd 活动模版ID
	 */
	@Table("Ymt_OrderInfoExt")
	@Column("iActivityTemplateId")
	@Field("actTplId")
	private Integer actTemplateId;

	/**
	 * prd 促销活动ID
	 */
	@Table("Ymt_SellerPromotion")
	@Column("PromotionId")
	@Field("promId")
	private Long promotionId;

	/**
	 * prd 促销活动类型
	 */
	@Table("Ymt_SellerPromotion")
	@Column("PromotionType")
	@Field("promTp")
	private Integer promotionType;

	/**
	 * prd 促销活动名称
	 */
	@Table("Ymt_SellerPromotion")
	@Column("PromotionName")
	@Field("promName")
	private String promotionName;

	/**
	 * prd 促销条件
	 */
	@Table("Ymt_SellerPromotion")
	@Column("MatchCondition")
	@Field("promCdt")
	private String promotionCondition;

	/**
	 * prd 促销话术
	 */
	@Table("Ymt_SellerPromotion")
	@Column("PromotionValue")
	@Field("promCont")
	private String promotionContent;

	/**
	 * prd 促销共优惠金额
	 */
	@Table("Ymt_SellerPromotion")
	@Column("ReducedAmount")
	@Field("promAmt")
	private BigDecimal promotionAmount;

	/**
	 * prd 商品退款数量
	 */
	@Table("Ymt_RefundProduct")
	@Column("RefundProductNum")
	@Field("rfdCnt")
	private Integer refundCount;

	/**
	 * prd 商品退款单号
	 */
	@Table("Ymt_RefundProduct")
	@Column("RefundBillNo")
	@Field("prdRfdNo")
	private String prdRefundNo;

	/**
	 * entAmt 定金金额
	 */
	@Field("entAmt")
	private BigDecimal earnestAmount;

	/**
	 * bkPromAmt 定金膨胀优惠金额
	 */
	@Field("bkPromAmt")
	private BigDecimal bookingPromotionAmount;

	/**
	 * taxFee 税费
	 */
	@Field("taxFee")
	private BigDecimal taxFee;

	/**
	 * taxRate 税率
	 */
	@Field("taxRate")
	private BigDecimal taxRate;

	/**
	 * 订单使用返点金额
	 */
	@Field("rbPdAmt")
	private BigDecimal rebatePaidAmount;

	/**
	 * 推广规则id
	 */
	@Field("alProRtId")
	private String anliPromotionRuleId;

	/**
	 * 买手返点比率
	 */
	@Field("sellerRbRt")
	private String sellerRebateRatio;

	/**
	 * 用户返点比率
	 */
	@Field("userRbRt")
	private String userRebateRatio;

	/**
	 * 订单购买者获得的返点金额
	 */
	@Field("ownerRbAmt")
	private BigDecimal orderOwnerRebateAmount;

	@Field("vStoCnt")
	private Integer vStockCount;

	/**
	 * 是否满减免运费
	 */
	@Field("frFreeFreight")
	private Boolean fullReductionFreeFreight;

	/**
	 * 神器 是否境内商品，null:未知，true:境内，false:境外
	 */
	@Field("dmcPrd")
	private Boolean domesticProduct;

	/**
	 * 等待库存核销（0：无需核销或已核销 1：等待核销）
	 */
	@Field("wtInSto")
	private Boolean waitInStock;

	/**
	 * 货头规格Id
	 */
	@Field("gOwnerCataId")
	private String goodsOwnerCatalogId;

	/**
	 * 是否图文商品
	 */
	@Field("graphicProduct")
	private Boolean graphicProduct;

	/**
	 * 服务费
	 */
	@Field("serviceAmt")
	private BigDecimal serviceAmount;

	/**
	 * 服务费率
	 */
	@Field("serviceRate")
	private BigDecimal serviceRate;

	/**
	 * 鉴别服务标记
	 */
	@Field("auctFlag")
	private Boolean authenticateFlag;

	/**
	 * 鉴别费
	 */
	@Field("auctFee")
	private BigDecimal authenticateFee;

	/**
	 * 鉴别费承担方
	 */
	@Field("auctFeeTp")
	private BigDecimal authenticateFeeType;

	/**
	 * 到达鉴定中心的时间
	 */
	@Field("inAuctCtTm")
	private Date inAuthenticateCenterTime;

	/**
	 * 是否到达鉴定中心
	 */
	@Field("inAuctCt")
	private Boolean inAuthenticateCenter;

	/**
	 * 新增 20201113 是否奢品
	 */
	@Field("lux")
	private Boolean luxury;

	/**
	 * 鉴定规则Id
	 */
	@Field("auctRlId")
	private Long authenticateRuleId;
	
	/**
	 * 成本价
	 */
	@Field("priCPrc")
	private BigDecimal primeCostPrice;
	
	/**
     * 海关实际税率(小数点后最多6位）
     */
    @Field("cusTaxRate")		
    private BigDecimal customsTaxRate;

    /**
     * 海关实际税费(小数点后最多两位）
     */
    @Field("cusTaxFee")			
    private BigDecimal customsTaxFee;

    /**
     * 供应商名称
     */
    @Field("gSupplier")			
    private String goodsSupplier;

    /**
     * 下单使用积分
     */
    @Field("integral")
    private Long integral;

    /**
     * 下单使用积分抵扣金额
     */
    @Field("integralDeAmt")
    private BigDecimal integralDeductionAmount;
    
    /**
     * 是否是低价换购商品
     */
    @Field("exgBuy")
    private Boolean exchangeBuy;
    
    /**
     * 区域折扣金额
     */
    @Field("rgDisAmt")
    private BigDecimal regionDiscountAmount;
    
    /**
     * 活动类型
     */
    @Field("actTy")
    private Integer activityType;

	/**
	 * 活动类型
	 */
	@Field("cdfVC")
	private String cdfVipCode;
    
	public String getItemId() {
		return itemId;
	}

	public void setItemId(String itemId) {
		this.itemId = itemId;
	}

	public Integer getDeliveryType() {
		return deliveryType;
	}

	public void setDeliveryType(Integer deliveryType) {
		this.deliveryType = deliveryType;
	}

	public Integer getStockStatus() {
		return stockStatus;
	}

	public void setStockStatus(Integer stockStatus) {
		this.stockStatus = stockStatus;
	}

	public BigDecimal getPrdPrice() {
		return prdPrice;
	}

	public void setPrdPrice(BigDecimal prdPrice) {
		this.prdPrice = prdPrice;
	}

	public BigDecimal getPrdDiscount() {
		return prdDiscount;
	}

	public void setPrdDiscount(BigDecimal prdDiscount) {
		this.prdDiscount = prdDiscount;
	}

	public BigDecimal getPrdPrePrice() {
		return prdPrePrice;
	}

	public void setPrdPrePrice(BigDecimal prdPrePrice) {
		this.prdPrePrice = prdPrePrice;
	}

	public BigDecimal getPrdOriginalPrice() {
		return prdOriginalPrice;
	}

	public void setPrdOriginalPrice(BigDecimal prdOriginalPrice) {
		this.prdOriginalPrice = prdOriginalPrice;
	}

	public String getPropertyInfo() {
		return propertyInfo;
	}

	public void setPropertyInfo(String propertyInfo) {
		this.propertyInfo = propertyInfo;
	}

	public Integer getPrdCount() {
		return prdCount;
	}

	public void setPrdCount(Integer prdCount) {
		this.prdCount = prdCount;
	}

	public String getCataId() {
		return cataId;
	}

	public void setCataId(String cataId) {
		this.cataId = cataId;
	}

	public Integer getCata1Id() {
		return cata1Id;
	}

	public void setCata1Id(Integer cata1Id) {
		this.cata1Id = cata1Id;
	}

	public Integer getCata2Id() {
		return cata2Id;
	}

	public void setCata2Id(Integer cata2Id) {
		this.cata2Id = cata2Id;
	}

	public Integer getCata3Id() {
		return cata3Id;
	}

	public void setCata3Id(Integer cata3Id) {
		this.cata3Id = cata3Id;
	}

	public Integer getBrandId() {
		return brandId;
	}

	public void setBrandId(Integer brandId) {
		this.brandId = brandId;
	}

	public String getSku() {
		return sku;
	}

	public void setSku(String sku) {
		this.sku = sku;
	}

	public String getProductId() {
		return productId;
	}

	public void setProductId(String productId) {
		this.productId = productId;
	}

	public String getPicUrl() {
		return picUrl;
	}

	public void setPicUrl(String picUrl) {
		this.picUrl = picUrl;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public Integer getBondedArea() {
		return bondedArea;
	}

	public void setBondedArea(Integer bondedArea) {
		this.bondedArea = bondedArea;
	}

	public Integer getPriceType() {
		return priceType;
	}

	public void setPriceType(Integer priceType) {
		this.priceType = priceType;
	}

	public Integer getPrdRefundStatus() {
		return prdRefundStatus;
	}

	public void setPrdRefundStatus(Integer prdRefundStatus) {
		this.prdRefundStatus = prdRefundStatus;
	}

	public Integer getRefundChannel() {
		return refundChannel;
	}

	public void setRefundChannel(Integer refundChannel) {
		this.refundChannel = refundChannel;
	}

	public BigDecimal getPrdFreight() {
		return prdFreight;
	}

	public void setPrdFreight(BigDecimal prdFreight) {
		this.prdFreight = prdFreight;
	}

	public BigDecimal getPrdYmtCoupon() {
		return prdYmtCoupon;
	}

	public void setPrdYmtCoupon(BigDecimal prdYmtCoupon) {
		this.prdYmtCoupon = prdYmtCoupon;
	}

	public BigDecimal getPrdSellerCoupon() {
		return prdSellerCoupon;
	}

	public void setPrdSellerCoupon(BigDecimal prdSellerCoupon) {
		this.prdSellerCoupon = prdSellerCoupon;
	}

	public Integer getTariffType() {
		return tariffType;
	}

	public void setTariffType(Integer tariffType) {
		this.tariffType = tariffType;
	}

	public Integer getSalesType() {
		return salesType;
	}

	public void setSalesType(Integer salesType) {
		this.salesType = salesType;
	}

	public boolean getPrdPreSale() {
		return prdPreSale;
	}

	public void setPrdPreSale(boolean prdPreSale) {
		this.prdPreSale = prdPreSale;
	}

	public BigDecimal getPrdDiscount3P() {
		return prdDiscount3P;
	}

	public void setPrdDiscount3P(BigDecimal prdDiscount3P) {
		this.prdDiscount3P = prdDiscount3P;
	}

	public boolean getReturn7d() {
		return return7d;
	}

	public void setReturn7d(boolean return7d) {
		this.return7d = return7d;
	}

	public BigDecimal getPrdPromotionAmount() {
		return prdPromotionAmount;
	}

	public void setPrdPromotionAmount(BigDecimal prdPromotionAmount) {
		this.prdPromotionAmount = prdPromotionAmount;
	}

	public String getPackageNo() {
		return packageNo;
	}

	public void setPackageNo(String packageNo) {
		this.packageNo = packageNo;
	}

	public String getProductVersion() {
		return productVersion;
	}

	public void setProductVersion(String productVersion) {
		this.productVersion = productVersion;
	}

	public String getProductCode() {
		return productCode;
	}

	public void setProductCode(String productCode) {
		this.productCode = productCode;
	}

	public boolean isPspProduct() {
		return pspProduct;
	}

	public void setPspProduct(boolean pspProduct) {
		this.pspProduct = pspProduct;
	}

	public Integer getActId() {
		return actId;
	}

	public void setActId(Integer actId) {
		this.actId = actId;
	}

	public Integer getActTemplateId() {
		return actTemplateId;
	}

	public void setActTemplateId(Integer actTemplateId) {
		this.actTemplateId = actTemplateId;
	}

	public Long getPromotionId() {
		return promotionId;
	}

	public void setPromotionId(Long promotionId) {
		this.promotionId = promotionId;
	}

	public Integer getPromotionType() {
		return promotionType;
	}

	public void setPromotionType(Integer promotionType) {
		this.promotionType = promotionType;
	}

	public String getPromotionName() {
		return promotionName;
	}

	public void setPromotionName(String promotionName) {
		this.promotionName = promotionName;
	}

	public String getPromotionCondition() {
		return promotionCondition;
	}

	public void setPromotionCondition(String promotionCondition) {
		this.promotionCondition = promotionCondition;
	}

	public String getPromotionContent() {
		return promotionContent;
	}

	public void setPromotionContent(String promotionContent) {
		this.promotionContent = promotionContent;
	}

	public BigDecimal getPromotionAmount() {
		return promotionAmount;
	}

	public void setPromotionAmount(BigDecimal promotionAmount) {
		this.promotionAmount = promotionAmount;
	}

	public Integer getRefundCount() {
		return refundCount;
	}

	public void setRefundCount(Integer refundCount) {
		this.refundCount = refundCount;
	}

	public String getPrdRefundNo() {
		return prdRefundNo;
	}

	public void setPrdRefundNo(String prdRefundNo) {
		this.prdRefundNo = prdRefundNo;
	}

	public boolean isFreightFree() {
		return freightFree;
	}

	public void setFreightFree(boolean freightFree) {
		this.freightFree = freightFree;
	}

	public BigDecimal getPrdYmtPromotionAmount() {
		return prdYmtPromotionAmount;
	}

	public void setPrdYmtPromotionAmount(BigDecimal prdYmtPromotionAmount) {
		this.prdYmtPromotionAmount = prdYmtPromotionAmount;
	}

	public BigDecimal getEarnestAmount() {
		return earnestAmount;
	}

	public void setEarnestAmount(BigDecimal earnestAmount) {
		this.earnestAmount = earnestAmount;
	}

	public BigDecimal getBookingPromotionAmount() {
		return bookingPromotionAmount;
	}

	public void setBookingPromotionAmount(BigDecimal bookingPromotionAmount) {
		this.bookingPromotionAmount = bookingPromotionAmount;
	}

	public BigDecimal getTaxFee() {
		return taxFee;
	}

	public void setTaxFee(BigDecimal taxFee) {
		this.taxFee = taxFee;
	}

	public BigDecimal getTaxRate() {
		return taxRate;
	}

	public void setTaxRate(BigDecimal taxRate) {
		this.taxRate = taxRate;
	}

	public BigDecimal getRebatePaidAmount() {
		return rebatePaidAmount;
	}

	public void setRebatePaidAmount(BigDecimal rebatePaidAmount) {
		this.rebatePaidAmount = rebatePaidAmount;
	}

	public String getAnliPromotionRuleId() {
		return anliPromotionRuleId;
	}

	public void setAnliPromotionRuleId(String anliPromotionRuleId) {
		this.anliPromotionRuleId = anliPromotionRuleId;
	}

	public String getSellerRebateRatio() {
		return sellerRebateRatio;
	}

	public void setSellerRebateRatio(String sellerRebateRatio) {
		this.sellerRebateRatio = sellerRebateRatio;
	}

	public String getUserRebateRatio() {
		return userRebateRatio;
	}

	public void setUserRebateRatio(String userRebateRatio) {
		this.userRebateRatio = userRebateRatio;
	}

	public BigDecimal getOrderOwnerRebateAmount() {
		return orderOwnerRebateAmount;
	}

	public void setOrderOwnerRebateAmount(BigDecimal orderOwnerRebateAmount) {
		this.orderOwnerRebateAmount = orderOwnerRebateAmount;
	}

	public Integer getvStockCount() {
		return vStockCount;
	}

	public void setvStockCount(Integer vStockCount) {
		this.vStockCount = vStockCount;
	}

	public Boolean getFullReductionFreeFreight() {
		return fullReductionFreeFreight;
	}

	public void setFullReductionFreeFreight(Boolean fullReductionFreeFreight) {
		this.fullReductionFreeFreight = fullReductionFreeFreight;
	}

	public Boolean getDomesticProduct() {
		return domesticProduct;
	}

	public void setDomesticProduct(Boolean domesticProduct) {
		this.domesticProduct = domesticProduct;
	}

	public Boolean getWaitInStock() {
		return waitInStock;
	}

	public void setWaitInStock(Boolean waitInStock) {
		this.waitInStock = waitInStock;
	}

	public String getGoodsOwnerCatalogId() {
		return goodsOwnerCatalogId;
	}

	public void setGoodsOwnerCatalogId(String goodsOwnerCatalogId) {
		this.goodsOwnerCatalogId = goodsOwnerCatalogId;
	}

	public Boolean getGraphicProduct() {
		return graphicProduct;
	}

	public void setGraphicProduct(Boolean graphicProduct) {
		this.graphicProduct = graphicProduct;
	}

	public BigDecimal getServiceAmount() {
		return serviceAmount;
	}

	public void setServiceAmount(BigDecimal serviceAmount) {
		this.serviceAmount = serviceAmount;
	}

	public BigDecimal getServiceRate() {
		return serviceRate;
	}

	public void setServiceRate(BigDecimal serviceRate) {
		this.serviceRate = serviceRate;
	}

	public Boolean getAuthenticateFlag() {
		return authenticateFlag;
	}

	public void setAuthenticateFlag(Boolean authenticateFlag) {
		this.authenticateFlag = authenticateFlag;
	}

	public BigDecimal getAuthenticateFee() {
		return authenticateFee;
	}

	public void setAuthenticateFee(BigDecimal authenticateFee) {
		this.authenticateFee = authenticateFee;
	}

	public BigDecimal getAuthenticateFeeType() {
		return authenticateFeeType;
	}

	public void setAuthenticateFeeType(BigDecimal authenticateFeeType) {
		this.authenticateFeeType = authenticateFeeType;
	}

	public Date getInAuthenticateCenterTime() {
		return inAuthenticateCenterTime;
	}

	public void setInAuthenticateCenterTime(Date inAuthenticateCenterTime) {
		this.inAuthenticateCenterTime = inAuthenticateCenterTime;
	}

	public Boolean getInAuthenticateCenter() {
		return inAuthenticateCenter;
	}

	public void setInAuthenticateCenter(Boolean inAuthenticateCenter) {
		this.inAuthenticateCenter = inAuthenticateCenter;
	}

	public Boolean getLuxury() {
		return luxury;
	}

	public void setLuxury(Boolean luxury) {
		this.luxury = luxury;
	}

	public Long getAuthenticateRuleId() {
		return authenticateRuleId;
	}

	public void setAuthenticateRuleId(Long authenticateRuleId) {
		this.authenticateRuleId = authenticateRuleId;
	}

	public BigDecimal getPrimeCostPrice() {
		return primeCostPrice;
	}

	public void setPrimeCostPrice(BigDecimal primeCostPrice) {
		this.primeCostPrice = primeCostPrice;
	}

	public BigDecimal getCustomsTaxRate() {
		return customsTaxRate;
	}

	public void setCustomsTaxRate(BigDecimal customsTaxRate) {
		this.customsTaxRate = customsTaxRate;
	}

	public BigDecimal getCustomsTaxFee() {
		return customsTaxFee;
	}

	public void setCustomsTaxFee(BigDecimal customsTaxFee) {
		this.customsTaxFee = customsTaxFee;
	}

	public String getGoodsSupplier() {
		return goodsSupplier;
	}

	public void setGoodsSupplier(String goodsSupplier) {
		this.goodsSupplier = goodsSupplier;
	}

	public Long getIntegral() {
		return integral;
	}

	public void setIntegral(Long integral) {
		this.integral = integral;
	}

	public BigDecimal getIntegralDeductionAmount() {
		return integralDeductionAmount;
	}

	public void setIntegralDeductionAmount(BigDecimal integralDeductionAmount) {
		this.integralDeductionAmount = integralDeductionAmount;
	}

	public Boolean getExchangeBuy() {
		return exchangeBuy;
	}

	public void setExchangeBuy(Boolean exchangeBuy) {
		this.exchangeBuy = exchangeBuy;
	}

	public BigDecimal getRegionDiscountAmount() {
		return regionDiscountAmount;
	}

	public void setRegionDiscountAmount(BigDecimal regionDiscountAmount) {
		this.regionDiscountAmount = regionDiscountAmount;
	}

	public Integer getActivityType() {
		return activityType;
	}

	public void setActivityType(Integer activityType) {
		this.activityType = activityType;
	}

	public String getCdfVipCode() {
		return cdfVipCode;
	}

	public void setCdfVipCode(String cdfVipCode) {
		this.cdfVipCode = cdfVipCode;
	}

	@Override
	public boolean equals(Object o) {
		if (this == o)
			return true;
		if (!(o instanceof Product))
			return false;

		Product product = (Product) o;

		if (getPrdPreSale() != product.getPrdPreSale())
			return false;
		if (getReturn7d() != product.getReturn7d())
			return false;
		if (isFreightFree() != product.isFreightFree())
			return false;
		if (isPspProduct() != product.isPspProduct())
			return false;
		if (getItemId() != null ? !getItemId().equals(product.getItemId())
				: product.getItemId() != null)
			return false;
		if (getDeliveryType() != null ? !getDeliveryType().equals(
				product.getDeliveryType()) : product.getDeliveryType() != null)
			return false;
		if (getStockStatus() != null ? !getStockStatus().equals(
				product.getStockStatus()) : product.getStockStatus() != null)
			return false;
		if (getPrdPrice() != null ? !getPrdPrice()
				.equals(product.getPrdPrice()) : product.getPrdPrice() != null)
			return false;
		if (getPrdDiscount() != null ? !getPrdDiscount().equals(
				product.getPrdDiscount()) : product.getPrdDiscount() != null)
			return false;
		if (getPrdPrePrice() != null ? !getPrdPrePrice().equals(
				product.getPrdPrePrice()) : product.getPrdPrePrice() != null)
			return false;
		if (getPrdOriginalPrice() != null ? !getPrdOriginalPrice().equals(
				product.getPrdOriginalPrice())
				: product.getPrdOriginalPrice() != null)
			return false;
		if (getPropertyInfo() != null ? !getPropertyInfo().equals(
				product.getPropertyInfo()) : product.getPropertyInfo() != null)
			return false;
		if (getPrdCount() != null ? !getPrdCount()
				.equals(product.getPrdCount()) : product.getPrdCount() != null)
			return false;
		if (getCataId() != null ? !getCataId().equals(product.getCataId())
				: product.getCataId() != null)
			return false;
		if (getCata1Id() != null ? !getCata1Id().equals(product.getCata1Id())
				: product.getCata1Id() != null)
			return false;
		if (getCata2Id() != null ? !getCata2Id().equals(product.getCata2Id())
				: product.getCata2Id() != null)
			return false;
		if (getCata3Id() != null ? !getCata3Id().equals(product.getCata3Id())
				: product.getCata3Id() != null)
			return false;
		if (getBrandId() != null ? !getBrandId().equals(product.getBrandId())
				: product.getBrandId() != null)
			return false;
		if (getSku() != null ? !getSku().equals(product.getSku()) : product
				.getSku() != null)
			return false;
		if (getProductId() != null ? !getProductId().equals(
				product.getProductId()) : product.getProductId() != null)
			return false;
		if (getPicUrl() != null ? !getPicUrl().equals(product.getPicUrl())
				: product.getPicUrl() != null)
			return false;
		if (getTitle() != null ? !getTitle().equals(product.getTitle())
				: product.getTitle() != null)
			return false;
		if (getBondedArea() != null ? !getBondedArea().equals(
				product.getBondedArea()) : product.getBondedArea() != null)
			return false;
		if (getPriceType() != null ? !getPriceType().equals(
				product.getPriceType()) : product.getPriceType() != null)
			return false;
		if (getPrdRefundStatus() != null ? !getPrdRefundStatus().equals(
				product.getPrdRefundStatus())
				: product.getPrdRefundStatus() != null)
			return false;
		if (getRefundChannel() != null ? !getRefundChannel().equals(
				product.getRefundChannel())
				: product.getRefundChannel() != null)
			return false;
		if (getPrdFreight() != null ? !getPrdFreight().equals(
				product.getPrdFreight()) : product.getPrdFreight() != null)
			return false;
		if (getPrdYmtCoupon() != null ? !getPrdYmtCoupon().equals(
				product.getPrdYmtCoupon()) : product.getPrdYmtCoupon() != null)
			return false;
		if (getPrdSellerCoupon() != null ? !getPrdSellerCoupon().equals(
				product.getPrdSellerCoupon())
				: product.getPrdSellerCoupon() != null)
			return false;
		if (getTariffType() != null ? !getTariffType().equals(
				product.getTariffType()) : product.getTariffType() != null)
			return false;
		if (getSalesType() != null ? !getSalesType().equals(
				product.getSalesType()) : product.getSalesType() != null)
			return false;
		if (getPrdDiscount3P() != null ? !getPrdDiscount3P().equals(
				product.getPrdDiscount3P())
				: product.getPrdDiscount3P() != null)
			return false;
		if (getPrdPromotionAmount() != null ? !getPrdPromotionAmount().equals(
				product.getPrdPromotionAmount()) : product
				.getPrdPromotionAmount() != null)
			return false;
		if (getPackageNo() != null ? !getPackageNo().equals(
				product.getPackageNo()) : product.getPackageNo() != null)
			return false;
		if (getProductVersion() != null ? !getProductVersion().equals(
				product.getProductVersion())
				: product.getProductVersion() != null)
			return false;
		if (getProductCode() != null ? !getProductCode().equals(
				product.getProductCode()) : product.getProductCode() != null)
			return false;
		if (getActId() != null ? !getActId().equals(product.getActId())
				: product.getActId() != null)
			return false;
		if (getActTemplateId() != null ? !getActTemplateId().equals(
				product.getActTemplateId())
				: product.getActTemplateId() != null)
			return false;
		if (getPromotionId() != null ? !getPromotionId().equals(
				product.getPromotionId()) : product.getPromotionId() != null)
			return false;
		if (getPromotionType() != null ? !getPromotionType().equals(
				product.getPromotionType())
				: product.getPromotionType() != null)
			return false;
		if (getPromotionName() != null ? !getPromotionName().equals(
				product.getPromotionName())
				: product.getPromotionName() != null)
			return false;
		if (getPromotionCondition() != null ? !getPromotionCondition().equals(
				product.getPromotionCondition()) : product
				.getPromotionCondition() != null)
			return false;
		if (getPromotionContent() != null ? !getPromotionContent().equals(
				product.getPromotionContent())
				: product.getPromotionContent() != null)
			return false;
		if (getPromotionAmount() != null ? !getPromotionAmount().equals(
				product.getPromotionAmount())
				: product.getPromotionAmount() != null)
			return false;
		if (getRefundCount() != null ? !getRefundCount().equals(
				product.getRefundCount()) : product.getRefundCount() != null)
			return false;

		if (this.getEarnestAmount() != null ? !getEarnestAmount().equals(
				product.getEarnestAmount())
				: product.getEarnestAmount() != null)
			return false;

		if (this.getBookingPromotionAmount() != null ? !getBookingPromotionAmount()
				.equals(product.getBookingPromotionAmount()) : product
				.getBookingPromotionAmount() != null)
			return false;
		if (this.getTaxFee() != null ? !getTaxFee().equals(product.getTaxFee())
				: product.getTaxFee() != null)
			return false;
		if (this.getTaxRate() != null ? !getTaxRate().equals(
				product.getTaxRate()) : product.getTaxRate() != null)
			return false;
		if (this.getRebatePaidAmount() != null ? !getRebatePaidAmount().equals(
				product.getRebatePaidAmount())
				: product.getRebatePaidAmount() != null)
			return false;
		if (this.getAnliPromotionRuleId() != null ? !getAnliPromotionRuleId()
				.equals(product.getAnliPromotionRuleId()) : product
				.getAnliPromotionRuleId() != null)
			return false;
		if (this.getSellerRebateRatio() != null ? !getSellerRebateRatio()
				.equals(product.getSellerRebateRatio()) : product
				.getSellerRebateRatio() != null)
			return false;
		if (this.getUserRebateRatio() != null ? !getUserRebateRatio().equals(
				product.getUserRebateRatio())
				: product.getUserRebateRatio() != null)
			return false;
		if (this.getOrderOwnerRebateAmount() != null ? !getOrderOwnerRebateAmount()
				.equals(product.getOrderOwnerRebateAmount()) : product
				.getOrderOwnerRebateAmount() != null)
			return false;
		if (this.getvStockCount() != null ? !getvStockCount().equals(
				product.getvStockCount()) : product.getvStockCount() != null)
			return false;
		if (this.getFullReductionFreeFreight() != null ? !getFullReductionFreeFreight()
				.equals(product.getFullReductionFreeFreight()) : product
				.getFullReductionFreeFreight() != null)
			return false;
		if (this.getDomesticProduct() != null ? !getDomesticProduct().equals(
				product.getDomesticProduct())
				: product.getDomesticProduct() != null)
			return false;

		if (this.getWaitInStock() != null ? !getWaitInStock().equals(
				product.getWaitInStock()) : product.getWaitInStock() != null)
			return false;
		if (this.getGoodsOwnerCatalogId() != null ? !getGoodsOwnerCatalogId()
				.equals(product.getGoodsOwnerCatalogId()) : product
				.getGoodsOwnerCatalogId() != null)
			return false;
		if (this.getGraphicProduct() != null ? !getGraphicProduct().equals(
				product.getGraphicProduct())
				: product.getGraphicProduct() != null)
			return false;
		if (this.getServiceAmount() != null ? !getServiceAmount().equals(
				product.getServiceAmount())
				: product.getServiceAmount() != null)
			return false;
		if (this.getServiceRate() != null ? !getServiceRate().equals(
				product.getServiceRate()) : product.getServiceRate() != null)
			return false;
		if (this.getAuthenticateFlag() != null ? !getAuthenticateFlag().equals(
				product.getAuthenticateFlag())
				: product.getAuthenticateFlag() != null)
			return false;
		if (this.getAuthenticateFee() != null ? !getAuthenticateFee().equals(
				product.getAuthenticateFee())
				: product.getAuthenticateFee() != null)
			return false;
		if (this.getAuthenticateFeeType() != null ? !getAuthenticateFeeType()
				.equals(product.getAuthenticateFeeType()) : product
				.getAuthenticateFeeType() != null)
			return false;
		if (this.getInAuthenticateCenter() != null ? !getInAuthenticateCenter()
				.equals(product.getInAuthenticateCenter()) : product
				.getInAuthenticateCenter() != null)
			return false;
		if (this.getInAuthenticateCenterTime() != null ? !getInAuthenticateCenterTime()
				.equals(product.getInAuthenticateCenterTime()) : product
				.getInAuthenticateCenterTime() != null)
			return false;
		if (this.getLuxury() != null ? !getLuxury().equals(product.getLuxury())
				: product.getLuxury() != null)
			return false;
		if (this.getAuthenticateRuleId() != null ? !getAuthenticateRuleId().equals(product.getAuthenticateRuleId())
				: product.getAuthenticateRuleId() != null)
			return false;
		if (this.getPrimeCostPrice() != null ? !getPrimeCostPrice().equals(product.getPrimeCostPrice())
				: product.getPrimeCostPrice() != null)
			return false;
		
		if (this.getCustomsTaxFee() != null ? !getCustomsTaxFee().equals(product.getCustomsTaxFee())
				: product.getCustomsTaxFee() != null)
			return false;
		if (this.getCustomsTaxRate() != null ? !getCustomsTaxRate().equals(product.getCustomsTaxRate())
				: product.getCustomsTaxRate() != null)
			return false;
		if (this.getGoodsSupplier() != null ? !getGoodsSupplier().equals(product.getGoodsSupplier())
				: product.getGoodsSupplier() != null)
			return false;
		if (this.getIntegral() != null ? !getIntegral().equals(product.getIntegral())
				: product.getIntegral() != null)
			return false;
		if (this.getIntegralDeductionAmount() != null ? !getIntegralDeductionAmount()
				.equals(product.getIntegralDeductionAmount()) : product
				.getIntegralDeductionAmount() != null)
			return false;
		if (this.getExchangeBuy() != null ? !getExchangeBuy()
				.equals(product.getExchangeBuy()) : product
				.getExchangeBuy() != null)
			return false;
		
		if (this.getRegionDiscountAmount() != null ? !getRegionDiscountAmount()
				.equals(product.getRegionDiscountAmount()) : product
				.getRegionDiscountAmount() != null)
			return false;
		
		if (this.getActivityType() != null ? !getActivityType()
				.equals(product.getActivityType()) : product
				.getActivityType() != null)
			return false;

		if (this.getCdfVipCode() != null ? !getCdfVipCode()
				.equals(product.getCdfVipCode()) : product
				.getCdfVipCode() != null)
			return false;

		return getPrdRefundNo() != null ? getPrdRefundNo().equals(
				product.getPrdRefundNo()) : product.getPrdRefundNo() == null;
	}

	@Override
	public int hashCode() {
		int result = getItemId() != null ? getItemId().hashCode() : 0;
		result = 31
				* result
				+ (getDeliveryType() != null ? getDeliveryType().hashCode() : 0);
		result = 31 * result
				+ (getStockStatus() != null ? getStockStatus().hashCode() : 0);
		result = 31 * result
				+ (getPrdPrice() != null ? getPrdPrice().hashCode() : 0);
		result = 31 * result
				+ (getPrdDiscount() != null ? getPrdDiscount().hashCode() : 0);
		result = 31 * result
				+ (getPrdPrePrice() != null ? getPrdPrePrice().hashCode() : 0);
		result = 31
				* result
				+ (getPrdOriginalPrice() != null ? getPrdOriginalPrice()
						.hashCode() : 0);
		result = 31
				* result
				+ (getPropertyInfo() != null ? getPropertyInfo().hashCode() : 0);
		result = 31 * result
				+ (getPrdCount() != null ? getPrdCount().hashCode() : 0);
		result = 31 * result
				+ (getCataId() != null ? getCataId().hashCode() : 0);
		result = 31 * result
				+ (getCata1Id() != null ? getCata1Id().hashCode() : 0);
		result = 31 * result
				+ (getCata2Id() != null ? getCata2Id().hashCode() : 0);
		result = 31 * result
				+ (getCata3Id() != null ? getCata3Id().hashCode() : 0);
		result = 31 * result
				+ (getBrandId() != null ? getBrandId().hashCode() : 0);
		result = 31 * result + (getSku() != null ? getSku().hashCode() : 0);
		result = 31 * result
				+ (getProductId() != null ? getProductId().hashCode() : 0);
		result = 31 * result
				+ (getPicUrl() != null ? getPicUrl().hashCode() : 0);
		result = 31 * result + (getTitle() != null ? getTitle().hashCode() : 0);
		result = 31 * result
				+ (getBondedArea() != null ? getBondedArea().hashCode() : 0);
		result = 31 * result
				+ (getPriceType() != null ? getPriceType().hashCode() : 0);
		result = 31
				* result
				+ (getPrdRefundStatus() != null ? getPrdRefundStatus()
						.hashCode() : 0);
		result = 31
				* result
				+ (getRefundChannel() != null ? getRefundChannel().hashCode()
						: 0);
		result = 31 * result
				+ (getPrdFreight() != null ? getPrdFreight().hashCode() : 0);
		result = 31
				* result
				+ (getPrdYmtCoupon() != null ? getPrdYmtCoupon().hashCode() : 0);
		result = 31
				* result
				+ (getPrdSellerCoupon() != null ? getPrdSellerCoupon()
						.hashCode() : 0);
		result = 31 * result
				+ (getTariffType() != null ? getTariffType().hashCode() : 0);
		result = 31 * result
				+ (getSalesType() != null ? getSalesType().hashCode() : 0);
		result = 31 * result + (getPrdPreSale() ? 1 : 0);
		result = 31
				* result
				+ (getPrdDiscount3P() != null ? getPrdDiscount3P().hashCode()
						: 0);
		result = 31 * result + (getReturn7d() ? 1 : 0);
		result = 31
				* result
				+ (getPrdPromotionAmount() != null ? getPrdPromotionAmount()
						.hashCode() : 0);
		result = 31 * result
				+ (getPackageNo() != null ? getPackageNo().hashCode() : 0);
		result = 31 * result + (isFreightFree() ? 1 : 0);
		result = 31
				* result
				+ (getProductVersion() != null ? getProductVersion().hashCode()
						: 0);
		result = 31 * result
				+ (getProductCode() != null ? getProductCode().hashCode() : 0);
		result = 31 * result + (isPspProduct() ? 1 : 0);
		result = 31 * result + (getActId() != null ? getActId().hashCode() : 0);
		result = 31
				* result
				+ (getActTemplateId() != null ? getActTemplateId().hashCode()
						: 0);
		result = 31 * result
				+ (getPromotionId() != null ? getPromotionId().hashCode() : 0);
		result = 31
				* result
				+ (getPromotionType() != null ? getPromotionType().hashCode()
						: 0);
		result = 31
				* result
				+ (getPromotionName() != null ? getPromotionName().hashCode()
						: 0);
		result = 31
				* result
				+ (getPromotionCondition() != null ? getPromotionCondition()
						.hashCode() : 0);
		result = 31
				* result
				+ (getPromotionContent() != null ? getPromotionContent()
						.hashCode() : 0);
		result = 31
				* result
				+ (getPromotionAmount() != null ? getPromotionAmount()
						.hashCode() : 0);
		result = 31 * result
				+ (getRefundCount() != null ? getRefundCount().hashCode() : 0);
		result = 31 * result
				+ (getPrdRefundNo() != null ? getPrdRefundNo().hashCode() : 0);
		result = 31
				* result
				+ (this.getEarnestAmount() != null ? getEarnestAmount()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getBookingPromotionAmount() != null ? getBookingPromotionAmount()
						.hashCode() : 0);
		result = 31 * result
				+ (this.getTaxFee() != null ? getTaxFee().hashCode() : 0);
		result = 31 * result
				+ (this.getTaxRate() != null ? getTaxRate().hashCode() : 0);
		result = 31
				* result
				+ (this.getRebatePaidAmount() != null ? getRebatePaidAmount()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getAnliPromotionRuleId() != null ? getAnliPromotionRuleId()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getSellerRebateRatio() != null ? getSellerRebateRatio()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getUserRebateRatio() != null ? getUserRebateRatio()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getOrderOwnerRebateAmount() != null ? getOrderOwnerRebateAmount()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getvStockCount() != null ? getvStockCount().hashCode()
						: 0);
		result = 31
				* result
				+ (this.getFullReductionFreeFreight() != null ? getFullReductionFreeFreight()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getDomesticProduct() != null ? getDomesticProduct()
						.hashCode() : 0);

		result = 31
				* result
				+ (this.getWaitInStock() != null ? getWaitInStock().hashCode()
						: 0);
		result = 31
				* result
				+ (this.getGoodsOwnerCatalogId() != null ? getGoodsOwnerCatalogId()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getGraphicProduct() != null ? getGraphicProduct()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getServiceAmount() != null ? getServiceAmount()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getServiceRate() != null ? getServiceRate().hashCode()
						: 0);

		result = 31
				* result
				+ (this.getAuthenticateFlag() != null ? getAuthenticateFlag()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getAuthenticateFee() != null ? getAuthenticateFee()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getAuthenticateFeeType() != null ? getAuthenticateFeeType()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getInAuthenticateCenter() != null ? getInAuthenticateCenter()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getInAuthenticateCenterTime() != null ? getInAuthenticateCenterTime()
						.hashCode() : 0);
		result = 31 * result
				+ (this.getLuxury() != null ? getLuxury().hashCode() : 0);

		result = 31
				* result
				+ (this.getAuthenticateRuleId() != null ? getAuthenticateRuleId()
						.hashCode() : 0);
		
		result = 31
				* result
				+ (this.getPrimeCostPrice() != null ? getPrimeCostPrice()
						.hashCode() : 0);
		
		result = 31
				* result
				+ (this.getCustomsTaxFee() != null ? getCustomsTaxFee()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getCustomsTaxRate() != null ? getCustomsTaxRate()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getGoodsSupplier() != null ? getGoodsSupplier()
						.hashCode() : 0);
		
		result = 31
				* result
				+ (this.getIntegral() != null ? getIntegral()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getIntegralDeductionAmount() != null ? getIntegralDeductionAmount()
						.hashCode() : 0);
		result = 31
				* result
				+ (this.getExchangeBuy() != null ? getExchangeBuy()
						.hashCode() : 0);
		
		result = 31
				* result
				+ (this.getRegionDiscountAmount() != null ? getRegionDiscountAmount()
						.hashCode() : 0);
		
		result = 31
				* result
				+ (this.getActivityType() != null ? getActivityType()
						.hashCode() : 0);

		result = 31
				* result
				+ (this.getCdfVipCode() != null ? getCdfVipCode()
				.hashCode() : 0);

		return result;
	}
}
